package com.hsj.springai.service;


import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
// 假装为第三方天气信息服务商 通过实现 Function 接口来处理天气查询请求并返回响应
public class MockWeatherService implements Function<MockWeatherService.Request,MockWeatherService.Response> {

    //接收gpt提取的location信息,并返回weather信息
    //apply 方法是 Function 接口中定义的抽象方法。它接收一个 Request 对象作为输入，并返回一个 Response 对		象作为输出。通过这个方法，模拟天气服务处理输入的请求，生成相应的天气数据并返回
    @Override
    public MockWeatherService.Response apply(MockWeatherService.Request request) {
        if(request.location==null ){
            return new MockWeatherService.Response("请输入正确的城市名称");
        }
        if(request.location.equals("北京"))
            return new MockWeatherService.Response("晴");
        if(request.location.equals("上海"))
            return new MockWeatherService.Response("阴");
        if(request.location.equals("广州"))
            return new MockWeatherService.Response("多云");
        //其他情况
        return new Response("未知城市");
    }
    //定义查询天气时所需的参数   密封类
    public record Request(String name, String location) {
    }
    //封装了返回的天气信息  密封类
    public record Response(String message) {
    }
}